/*  COMP9517 Computer Vision, Semester 2, 2011 - University of New South Wales
   ============================================================================
   |   Group .  | Christian Mostegel & Dong Back Kim                          |
   ============================================================================

    Abstract Loader

 */

#ifndef LOADER_H
#define LOADER_H

#include <qstring.h>
#include <qlist.h>

#include <PointCloud.h>
#include <Camera.h>

/* Base class of both ImageLoader and PreprocessedDataLoader */

class Loader
{

public:
    Loader();

protected:

    QList<Camera> m_cameras;
    PointCloud m_point_cloud;

public:

    virtual void load() = 0;

    void setData(const PointCloud &     pointCloud,
                 const QList<Camera> &  cameras);

    
    QList<Camera> getCameras() const { return m_cameras; }
    PointCloud getPointCloud() const { return m_point_cloud; }
};

#endif // LOADER_H
